const Device = (function() {
  const u = navigator.userAgent
  const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 // android终端
  const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端

  if (isAndroid) {
    return 0
  } else if (isiOS) {
    return 1
  } else {
    return 2
  }
})()

export default {

  /**
     * 判断是安卓还是ios
     * @return {number} 0 安卓 1 ios 2其他
     */
  h5userAgent: function() {
    return Device
  },
  /** 调用app方法
     * @param {Object} f 方法名
     * @param {Object} p 参数
     */
  jsCallApp(f, p) {
    let javscript = ''
    if (Device === 0) { // 安卓
      const param = p ? '("' + p + '")' : '()'
      javscript = 'window.android.' + f + param
    } else if (Device === 1) {
      p = p || null
      javscript = 'window.webkit.messageHandlers.' + f + ".postMessage('" + p + "')"
    } else {
      console.log('调用' + f)
    }
    if (javscript) {
      try {
        console.log(javscript)
        // eval(javscript)
      } catch (e) {
        // TODO handle the exception
      }
    }
  },
  /**
     * 给app写入token
     */
  setAppToken: function(token) {
    this.jsCallApp('setAppToken', token)
  },

  getDecvie() {
    return Device
  }

}
// export const jsCallApp = function(f, p) {
//   let javscript = ''
//   if (Device === 0) { // 安卓
//     const param = p ? '("' + p + '")' : '()'
//     javscript = 'window.android.' + f + param
//   } else if (Device === 1) {
//     p = p || null
//     javscript = 'window.webkit.messageHandlers.' + f + ".postMessage('" + p + "')"
//   } else {
//     console.log('调用' + f)
//   }
//   if (javscript) {
//     try {
//       console.log(javscript)
//       eval(javscript)
//     } catch (e) {
//       // TODO handle the exception
//     }
//   }
// }
